package cn.mrcode.smartPluginSecurity;

import java.util.Set;

/**
 * 可在应用中实现以下方法，或则在smart.properties中提供sql的配置
 * <ul>
 *     <li>smart.plugin.security.jdbc.authc_query:根据用户名获取密码</li>
 *     <li>smart.plugin.security.jdbc.roles_query:根据用户名获取角色名集合</li>
 *     <li>smart.plugin.security.jdbc.permissions_query:根据角色名获取权限名集合</li>
 * </ul>
 * @author zhuqiang
 * @version V1.0
 * @date 2015/11/14 22:59
 */
public interface SmartSecurity {
    /** 根据用户名获取密码 */
    String getPassword(String username);
    /** 根据用户名获取角色名称集合 **/
    Set<String> getRoleNameSet(String username);
    /** 根据用户名获取权限集合 **/
    Set<String> getPermissionNameSet(String roleName);
}
